/**
 * 
 */
package com.yst.metho.web.application.components.listingview;

import com.yst.suivi.data.rights.Right;

/**
 * @author perso Controlleur qui doit etre developpe pour utiliser l'action de
 *         suppression generique
 * 
 */
public interface IConfirmationAction
{
	/**
	 * Methode qui doit reagir a la selection d'un objet dans la source passee
	 * en parametre.
	 * 
	 * @param e
	 */
	void setSelection(Object source);

	/**
	 * Methode qui est appele lorsque l'action doit etre effectuee.
	 * 
	 */
	void doAction();

	/**
	 * Retourne la chaine de caractere qui doit etre affichee lors de la
	 * confirmation de la suppression d'un objet.
	 * 
	 * @return
	 */
	String getConfirmationMessageParameter();

	/**
	 * La methode retourne vrai si le bouton peut etre active par l'utilisateur.
	 * 
	 * @return
	 */
	boolean isEnabled();
	
	/**
	 * Renvoie le droit qui doit etre verifie pour acceder a l'action.
	 * @return
	 */
	Right getRight();
}
